/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package collection;

import entity.Agencia;
import java.util.ArrayList;
import persistencia.LeituraAgencia;
import persistencia.SalvarAgencia;
import presenter.AddAgenciaPresenter;
import presenter.LimparArquivo;

/**
 *
 * @author jakson
 */
public class CollectionAgencia {

    private persistencia.SalvarAgencia incluirArquivo = new SalvarAgencia();
    private ArrayList<Agencia> agencias = new ArrayList<Agencia>();
    private persistencia.LeituraAgencia leitura = new LeituraAgencia();
    private presenter.LimparArquivo limpar = new LimparArquivo();

    public ArrayList<Agencia> getAgencias() {
        return agencias;
    }

    public CollectionAgencia() {

        //agencias = new ArrayList<Agencia>();

        this.agencias = leitura.recuperaAgencia("src/arquivo/agencias.txt");

    }

    public void incluirAgencia(Agencia a) {

        agencias.add(a);
        incluirArquivo.gravarAgencia(a);

    }

    public void excluirAgencia(String codigo) {

        for (int i = 0; i < this.agencias.size(); i++) {
            if (agencias.get(i).getCodigo().compareTo(codigo) == 0) {
                agencias.remove(i);
                limpar.limpaArquivo("src/arquivo/agencias.txt");



            }
        }
        for (int j = 0; j < this.agencias.size(); j++) {
            incluirArquivo.gravarAgencia(agencias.get(j));
        }


    }

    public void editar(String cod) {

        for (int i = 0; i < agencias.size(); i++) {

            if (agencias.get(i).getCodigo().equals(cod) ) {

                 new AddAgenciaPresenter("editar",agencias.get(i));
                 excluirAgencia(cod);
            }

        }
    }

    @Override
    public String toString() {
        return "CollectionAgencia{" + "agencias=" + agencias + '}';
    }
}
